package com.sdcqjy.property.presenter;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.sdcqjy.mylibrary.http.BaseRequestBack;
import com.sdcqjy.mylibrary.http.BaseRet;
import com.sdcqjy.mylibrary.http.HttpClient;
import com.sdcqjy.property.AppLL;
import com.sdcqjy.property.base.BaseContract;
import com.sdcqjy.property.mode.CityMode;
import com.sdcqjy.property.mode.ListMsgMode;
import com.sdcqjy.property.presenter.contract.ListMsgContract;
import com.sdcqjy.property.presenter.contract.a;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by 磁磁帅 on 2018/3/31.
 * 功能：
 */
public class ListMsgPresenter extends BaseContract.Presenter<ListMsgContract.View> {
    public ListMsgPresenter(ListMsgContract.View baseView) {
        super(baseView);
    }

    /**
     * categoryID ：文档类型
     * 企业产股权：1
     * 企业增资扩股：2
     * 股权：3
     * 增资：4
     * 实物资产：5
     * 网络竞价：6
     * projectID： 项目类型
     * 山东产权交易所：1
     * 北京产权交易所：2
     * 上海产权交易所：3
     */
    public void getList(int type) {
        Map<String, Object> map = new HashMap<>();
        // {"documentName":"磊诺","categoryID":"1","projectID":"1"}
        map.put("categoryID", "" + type);
        //1 企业产股权，2企业增资扩股 3实物资产 4 网络竞价 5 法律汇编 6 经典案例 7 山东磊诺 8提示文档
        CityMode mode = CityMode.getMode(AppLL.getAppLL());
        map.put("projectID", mode.id);
        new HttpClient().setHttpType(HttpClient.HttpType.JSON).setParam(map)
                .httpRequest(a.GetWordList, new BaseRequestBack<BaseRet<List<ListMsgMode>>>() {
                    public BaseRet<List<ListMsgMode>> jsonToMode(String jsonStr) {
                        BaseRet<List<ListMsgMode>> ret = new Gson().fromJson(jsonStr, new TypeToken<BaseRet<List<ListMsgMode>>>() {
                        }.getType());
                        return ret;
                    }

                    public void onResponseSucc(BaseRet<List<ListMsgMode>> ret) {
                        if (baseView != null) {
                            baseView.dismissDialog();
                            if (ret.isOk()) {
                                baseView.getListRet(ret.data);
                            } else {
                                baseView.applyError(ret.msg);
                            }
                        }
                    }

                    public void onResponseFail(String retStr) {
                        if (baseView != null) {
                            baseView.dismissDialog();
                            baseView.applyError(retStr);
                        }
                    }
                });
        if (baseView != null) baseView.openLoadDialog();
    }
}
